我們一般會使用for迴圈進行某些次數的迴圈,(迴圈次數確定時)
語法
for ([initialExpression]; [conditionExpression]; [incrementExpression]) {
statement
}
中文翻譯:
for (變數初始值; 條件判斷式; 遞增表達式) {
陳述式
}
依MDN的原文翻譯,這裡的"遞增表達式" 在字面上較容易引起誤會,因為不只可以做遞增也可以遞減,只是我們比較常用的是遞增。
以下是我們常見的寫法,會得出結果1~10。
for (var i=1; i <= 10 ; i++ ) {
console.log(i);
}
但要注意的是,這裡的 i 使用var宣告,代表i可能會變成全域變數。
可以用以下兩種方式,不讓 i 變成全域變數:
function myFunc(){
for (var i=0; i <= 10 ; i++ ) {
console.log(i);
}
};
改用let宣告:
若將var改成用let宣告,這裡的i 即變成了區域變數。
for (let i = 1; i <= 10 ; i++ ) {
console.log(i);
}
相較於需要很確定重覆次數(重覆次數為可被計算的)的for迴圈, while 用來進行某條件的迴圈 (次數可能不固定)
語法
while (condition)
statement
中文翻譯:
let 變數初始值 ;
while (條件判斷式 ) {
陳述式;
遞增表達式;
}
while 語句在條件式判斷為true時,會不斷執行它的陳述式。直到條件判斷式為 false時,在迴圈中的陳述式會停止執行,並跳出迴圈。
var i = 1
while (i <=10) {
console.log(i);
i++;
}
待續...明天再繼續介紹forEach & do...while
資料來源:
https://eyesofkids.gitbooks.io/javascript-start-from-es6/content/part3/loop.html
http://dic.vbird.tw/javascript/unit05.php